package com.bjpowernode.crm.workbench.mapper;

import com.bjpowernode.crm.workbench.domain.ClueActivityRelation;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 访问线索与市场活动中间表
 *
 * @author 刘逸晖
 */
public interface ClueActivityRelationMapper {

    /**
     * 查询与指定线索关联的市场活动的 id
     *
     * @param clueId 线索 id
     * @return 市场活动的 id
     */
    List<String> selectIdsOfRelatedActivities(@Param("clueId") String clueId);

    /**
     * 批量新增线索与市场活动的关联数据
     *
     * @param clueActivityRelations 关联数据
     */
    void insertClueActivityRelations(@Param("clueActivityRelations") List<ClueActivityRelation> clueActivityRelations);

    /**
     * 删除线索与市场活动的关联关系
     *
     * @param clueId     线索 id
     * @param activityId 市场活动的 id
     */
    void deleteClueActivityRelationByClueIdAndActivityId(@Param("clueId") String clueId, @Param("activityId") String activityId);

    /**
     * 根据线索 id 查询线索与市场活动的关联关系
     *
     * @param clueId 线索 id
     * @return 线索与市场活动的关联关系
     */
    List<ClueActivityRelation> selectClueActivityRelationsByClueId(@Param("clueId") String clueId);

    /**
     * 根据线索 id 批量删除线索与市场活动的关联关系
     *
     * @param clueId 线索 id
     */
    void deleteClueActivityRelationsByClueId(@Param("clueId") String clueId);

}
